#ifndef SE_SIMPLEOBJECT_HPP
#define SE_SIMPLEOBJECT_HPP


#include <string>
#include "../System/Types.hpp"
#include "../Graphics.hpp"


namespace se {
class Instance;
class Behaviour;

typedef sf::Vector2f Position;

class SimpleObject : Graphics::Sprite//objet basique du simple engine
{
public :
	SimpleObject();
	//la partie interessante
	void Act(Instance& i);

	//du bordel qui peut servir
	float Distance(Position p);
	float Distance(SimpleObject* s);

	bool Touch(SimpleObject* object); // detecte si deux SimpleObject sont en contact

	virtual std::string GetType();
	
	Position GetPosition();
	~SimpleObject() = 0;
	
	protected :
	
	std::vector<Behaviour*> m_behaviour;
	
	
};

}//</namespace se>


#endif
